1. Technical Field
The present invention relates to packet switching networks and more particularly to a method and system, in a network based on a Networking Broadband Services (NBBS) architecture, for dynamically pre-loading the Local Directory Database (LDB) of network nodes with the location of the more frequently requested resources.
2. Background Art
High Speed Packet/Cell Switching Networks
Data transmission is now evolving, with a specific focus on applications and by integrating a fundamental shift in the customer traffic profile. Driven by the growth of the number of intelligent (programmable) workstations, the pervasive use of local area network interconnections, the distributed processing capabilities between workstations and super computers, the new applications and the integration of various and often conflicting structuresxe2x80x94hierarchical versus peer to peer, wide versus local area networks, voice versus dataxe2x80x94the data profile has become more bandwidth consuming, bursting, non-deterministic and requires more connectivity. Based on the above observations, there is a strong requirement for supporting distributed computing applications across high speed wide-area networks that can carry local area network communications, voice, video and traffic among channel attached hosts, business, engineering workstations, terminals, and small to intermediate file servers. This vision of a high speed multi-protocol network is the driver for the emergence of fast packet switching network architectures in which data, voice, and video information is digitally encoded, chopped into small packets (of fixed or variable length) and transmitted through a common set of nodes and links. An efficient transport of mixed traffic streams on very high speed lines means for these new network architectures, a set of requirements in term of performance and resource consumption which can be summarized as follows:
a very high throughput and a very short packet processing time,
an efficient set of flow and congestion control mechanisms,
a very large flexibility to support a wide range of connectivity options.
Throughput and Processing Time
One of the key requirements of high speed packet switching networks is to reduce the end to end delay in order to satisfy real time delivery constraints and to achieve the necessary high nodal throughput for the transport of voice and video. Increases in link speeds have not been matched by proportional increases in the processing speeds of communication nodes. The fundamental challenge for high speed networks is to minimize the packet processing time and to take full advantage of the high speed/low error rate technologies. Most of the transport and control functions provided by the new high bandwidth network architectures are performed on an end to end basis. The flow control and particularly the path selection and bandwidth management processes are managed by the access points of the network which reduces both the awareness and the functions of the intermediate nodes.
Congestion and Flow Control
Communication networks have at their disposal limited resources to ensure efficient packet transmissions. An efficient bandwidth management strategy is essential to take full advantage of an high speed network. While transmission costs per byte continue to drop year after year, transmission costs are likely to continue to represent the major expense of operating future telecommunication networks as the demand for bandwidth increases. Thus, considerable efforts have been spent on designing flow and congestion control processes, bandwidth reservation mechanisms, routing algorithms to manage the network bandwidth. An ideal network should be able to transmit an useful traffic directly proportional to the traffic offered to the network and this as far as the maximum transmission capacity is reached. Beyond this limit, the network should operate at its maximum capacity whatever the demand is.
Connectivity
In high speed networks, the nodes must provide total connectivity. This includes attachment of the user devices, regardless of vendor or protocol, and the ability to have the end user communicate with any other device or group of devices (when justified or required). The network must support any type of traffic including data, voice, video, fax, graphic or image. Nodes must be able to take advantage of all common carrier facilities and be adaptable to a plurality of protocols. All needed conversions must be automatic and transparent to the end user.
High Speed Communications
A typical model of communication system is made of several user networks communicating through a high performance network using private lines, carrier provided services, or public data networks. Each user network can be described as a set of communication processors and links interconnecting large computers used as enterprise servers, user groups using workstations or personal computers attached on LAN (Local Area Networks), applications servers, PBX (Private Branch exchange) or video servers. These user networks, spread in different establishments, need to be interconnected through wide area transport facilities and different approaches can be used for organizing the data transfer. Some architectures involve the checking for data integrity at each network node, thus slowing down the transmission. Others are essentially looking for a high speed data transfer. To that end, the transmission, routing and switching techniques within the nodes are optimized to process the packets flowing toward their final destination at the highest possible rate. The present invention belongs essentially to the latter category and more particularly to the fast packet switching network architecture detailed in the following paragraphs.
Networking Broadband Services (NBBS)
The architectures of most high speed packet switching networks specify a set of generic services that offer end-to-end high bandwidth transport capabilities. The present application relates to transmissions in wide-area networks (WANs) based on the IBM""s Networking BroadBand Services (NBBS) architecture described in International Business Machine publication xe2x80x9cIBM International Technical Support Centersxe2x80x94Networking Broadband Services (NBBS)xe2x80x94Architecture Tutorialxe2x80x94GG24-4486-00xe2x80x9d dated June 1995. NBBS Services can be divided into three major areas:
The Transport Services
The Transport Services provide a common infrastructure to support the transfer of information across the network. They are not used directly but through the Access Services (Access Agents). The Transport Services can be divided into three distinct functions:
a Logical Link Layer,
a Network Connection Layer, and
the various Transport Protocols.
The Network Control Services
The Network Control Services ensure that the Transport and Access Services operate reliably, efficiently, and as automatically as possible. They are used to control, allocate, and manage the resources of the network on a real-time basis. They also provide network operators with the various facilities that are needed to configure, operate, and maintain the network on a day-to-day basis. This includes facilities for monitoring the performance of the network, accounting for its usage, and resolving problems.
The Access Services
The Access Services (Access Agents) provide an interface between the common high speed network (or backbone network) and external devices or networks via access link interfaces. The Access Services enable a wide range of external devices to get access to the common infrastructure provided by the Transport Services. Together, the Transport, Network Control and Access Services provide the capability to support communications between many different types of communicating devices through a common network infrastructure.
Directory Services
The Directory Services are part of the Network Control Services and are responsible for locating users in the network. Users are connected to external networks, which attach into the network via access agents located in access nodes. The Directory Services function is distributed around all the Directory Agents which reside in Access Agents. They are used on behalf of users when network connections are being established.
The Directory Agent is responsible for the registration and localization of information related to services provided by the Access Agent. The Directory Agent performs, in particular, three main functions:
Registration of users available through its Access Agent.
Localization of users on behalf of the Protocol Agent.
Responding to queries received from other Directory Agents to locate users.
Locating a resource means determining the network addressing information of the Access Agent providing access to the resource. Directory Agents rely on the use of a distributed database. Each Directory Agent maintains a local database comprising information about the external resources accessible through its Access Agent as well as information about remote resources it has cached. The network addressing information of each resource recorded in the local database includes:
an identification of the resource.
the characteristics associated with the resource.
the network addressing information for the resource""s Protocol, Connection and Directory Agents.
The Directory search process begins with an external user attempting to communicate with another user using its native protocol. The Protocol Agent within the local Access Agent receiving this request, uses its Directory Agent to find the destination resources. The Directory Agent first examines its local database (also called the Local Directory Database):
If the resource is found locally, the network addressing information is verified via point-to-point network control messages (if necessary) and then forwarded to the origin Protocol Agent.
If the Resource is not found locally in the database, a query is broadcasted to all the Directory Agents in the directory set to which the destination belongs. Results of the query are cached in the Local Directory Database. The origin Directory Agent forwards the result to the requesting Protocol Agent.
Problem Addressed by the Invention
Most, if not all of the various Access Agents supported by the NBBS (Networking BroadBand Services) architecture provide support for protocols that are highly hierarchical by nature. The term xe2x80x9chierarchicalxe2x80x9d means that the devices attached to the network follow a Client/Server model. Many end-users which can be called xe2x80x9cClientsxe2x80x9d look for services and information. To that end, these Clients access a limited number of information and service providers which can be called xe2x80x9cServersxe2x80x9d. It is a fact which can be observed in most networks that the number of Clients is much more higher than the number of Servers. Consequently, flows of communication requests are converging from said many Clients to these few Servers.
For example, end-user terminals (Clients) can use Frame Relay (or ATM) capable devices to access services in WEB Servers or other Internet or Intranet Server Applications (Servers). the Frame Relay (or ATM) Access Agent provides a Frame Relay (or ATM) Bearer Service across the NBBS network.
In another example, multiple Systems Network Architecture (SNA) terminals can use the Data Link Switching (DLSw) Access Agent for accessing a some rather limited number of expensive and complex SNA devices (a communication controller or an establishment controller), said devices providing a physical access (channel attachment) to computers hosting applications.
As the external protocols supported by the NBBS architecture are almost always hierarchical, the traffic transported across the NBBS network is never balanced (any to any, peer to peer). This is a fact that many end user devices or Clients, want to access a limited number of server devices or Servers.
Looking at the way the NBBS Directory Services have been defined and implemented, this hierarchical characteristic of data (or voice/video) traffic has serious negative implications on the network behavior. All end-user devices that are using a given protocol want to access a very limited number of server sites. Therefore, all the Access Agents attaching these end-user devices attempt to locate these very few possible destinations. Unfortunately, the NBBS mechanisms have been defined to optimize resource query (search) flows once a target resource has already been located as a result of a previous search from the same Access Agent. This is the only case when directed (point to point, unicast) query flows are used instead of the undirected (multipoint, multicast) query flows.
Due to the hierarchical nature of the external protocols supported by the NBBS architecture, this mechanism presents the following major drawbacks:
high consumption of node processing resources,
high consumption of network bandwidth.
All of the access agents that service end-user devices for a given protocol attempt to locate the same destinations (the server locations). This results in the generation of multiple NBBS locate flows (Undirected Explicit Queries). These query messages are NBBS control messages broadcasted by means of a spanning tree to every node within the network.
In a network that is in steady state, when server resources have previously already been located, the NBBS architecture allows the use of point-to-point locate flows (Directed Explicit queries). However, for very dynamic networks (where new devices are added, nodes come and go), multiple quasi simultaneous undirected explicit query multicast messages may lead to an excessive consumption of network nodes processing resources. NBBS nodes may be incapable of sustaining the requested rate of connection requests. This may result in an increase of the latency time for setting up communications across the network. Additionally, the multiple multicast messages distributed to every node within the network increase the flow control overhead over the network spanning tree links.
This phenomenon is particularly damaging in case of NBBS network failures (partial or complete), followed by recoveries, where all end-user devices attempt, at the same time, to reconnect to their destination server applications.
The present invention relates to packet switching networks and more particularly to a method and system for dynamically pre-loading the Local Directory Database (LDB) of access nodes with the location of more frequently requested resources, in a packet switching network comprising access nodes and transit nodes interconnected with transmission links, each access node comprising a Local Directory Database comprising information related to the location of the resources it provides access to, each access node supporting one or a plurality of communication protocols for accessing said resources. The method, in an origin access node, comprises the steps of:
declaring each locally supported communication protocol for participating to control message exchanges between nodes supporting a same communication protocol;
receiving a message to locate a target resource;
searching for information related to the location of the target resource in the Local Directory Database.
If the Local Directory Database does not comprises any information related to the location of the target resource:
broadcasting an undirected message to the other access nodes in the network to locate the target resource;
receiving a control message from the destination access node providing access to the target resource, this control message comprising information related to the location of the target resource;
storing the information related to the location of the target resource in the Local Directory Database.
In an access node, the method according to the present invention comprises the steps of:
declaring each locally supported communication protocol for participating to control message exchanges between nodes supporting a same communication protocol;
receiving a control message from a destination access node providing access to a target resource, this control message comprising information related to the location of this target resource;
If the Local Directory Database does not comprises any information related to the location of this target resource:
storing the information related to the location of the target resource in the Local Directory Database.
In a destination access node, the method according to the present invention comprises the steps of:
receiving a undirected message from an origin access node to locate a target resource;
determining whether access to this target resource is provided or not;
If access to this target resource is provided:
determining the communication protocol used by this target resource;
broadcasting to access nodes supporting the same communication protocol a control message comprising information related to the location of the target resource.